- Read only files shouldn't be overwritten w/o confirmation - read only files never get overwritten. the O/S forbids it.
- disable button when nothing to install - yup
- scrolling in package selector is still crap! - nono, it's good now
- in options - setting the miranda dir will set it for the rest - guh
- drag and drop - done
- script is loaded into memory for each file... should be changed! - ahh right, script is only loaded once for scripted addons
- make sure all GDI objects are deleted properly (including DCs and regions!) - looks fine
- make an option for: by default, always install all/essential packages - got it
- arrow keys in package selector should go up/down - right
- hmm what if installation dir doesn't exist? fix it - done
- Write Is_App_Running() and Misc.cpp - done
- disable adding new installation when thread is running - done
- be able to delete files from list after u add them (menu/del button) - done
- fix up msg boxes - do icons too - right
- UI fix ups all over - got it
- scrollbar doesn't go all the way down!! - looks ok
- do installation of language packs! - done, needs more testing - looks fine
- argg error msgs are too much, only make one at some point, don't do 3 at a time when u got an error - k
- multiple instances - no way, use a mutex
- app should be able to restart miranda with a command line switch - yup
- associate file extension (Kai's code - use it :))
- add option to what profile to show when restarting miranda in mirandainstaller - right
- what if u got no reg entry for dir, and no dir is specified for install? - fixed
- only require to close miranda if installation includes plugin/nightly? - hmm, no, best to always restart
- if miranda was already running and install flags is !(& 2), then ask if to restart miranda? - no, miranda is always restarted (by Kai)
- Pretty up About dialog, better credits
- miranda should not be re-run after close, when miranda was already started from the menu
- add a cancel button in package dlg (Corsario/bethoven) - done
- pass comm line to currently running mirinst - yup, gonna use DDE - done
- add a decent About dialog - done
- Bug fix: When you click on "Install with Miranda Installer" from a page on Miranda's website, and MirInst is already running, the file will now be added to the list.
- You can now cancel the installation in the package selection dialog (Suggested by Corsario and bethoven).
- A new option: You can stop those annoying "Miranda is currently running" warnings, check out the options dialog (Be sure you know what you're doing!).
- All around bug fixes and some other small changes.
- No more Open With dialogs, now it opens on its own.
- Stupid bug fix in installing-directory procedure, last extension was not tested because of work-around loop.
- MirInst won't restart Miranda if it is already running, even if it was requested in the command line.
- When /silent installation is specified, you won't be bothered with "Miranda is running" warnings.
- LangPack manager was never launched in silent mode, fixed.
(entry for v0.0.1.2)
- Minor bug fixes.
- Translation support.
TODO:
-----
- if install script is bad, give option to not use it?
- check miranda installer with other OS's
- read plugin information from scriptless files
- essential packages should be in a bold font - find another way, bold fonts suck
- document the syntax exactly, add DTD and examples as well
- comments inside element raw data - skip? include in data? sort it out for a later version
- small description in <info>
- extsend problem - install another file in tool/plugin? use a new attribute? Class?
- ess packages - color of box should be grayed - nono
- translation... use Miranda's langpack.c? (HeikoH)
- install into subdirectories specific packages (HeikoH)
- Problem with GetWindowModuleFileName... Win95 requires linking to GetWindowModuleFileName
NOT GetWindowModuleFileNameA (The ASCII version) which we always link to since we all
use a MODERN operating system that supports Unicode unlike crappy Win95...
BEFORE RELEASE:
--------------
Read-only files can't be overwritten.
if you want to protect a file, make it read-only.
To Kai: Have a look at Syntax.txt, I've tried to lay down everything we talked about.
The XML structure is pretty much the same, I added a root installscript tag so there'll be
no mixups on the purpose of the XML (And also to keep it according to the XML specs, I guess :))
Plus, I thought about the possibility of Miranda having multiple instances, and runs several times in the background (Or even once :)).
I had a look at how you handled Miranda-running-in-the-background it in InstallMaker, and I think this is best: (generalized)
app tries to find a running window by the class of "Miranda" which module has the same path (not filename, because problems can occur with other modules in the miranda process)
as the miranda we're "working" on :) it's not super-accurate, but it should do the trick in most cases.
Also :), to make sure Miranda Installer knows where Miranda is installed, the user will be given a choice to select it.
The initial directory would be retrieved from the registry (Miranda keeps it there).
Settings are saved in Options.dat, in the same directory as Miranda Installer.
Everything that is saved is actually one structure (MAIN_OPTIONS). Not very space-efficient,
, but it doesn't really matter since it's only a few KBs :)
About getting the type of addon: The type of addon reported in the script
supresses the addon's extension. If there's no install script or the type reported is wrong,
then the extension is used.
autorun is the only section that isn't validated (i.e. if file exists and such)
if the author slacks off and the info in there is wrong, the whole section is ignored